In recent years, mobile communication services have expanded and increased in popularity around the world. Many advanced networks offer various wireless mobile communication services for voice calls and data communications. The data communications services, for example, enable surfing the world wide web via a browser on a mobile station and receiving various data (including real-time data) from remote servers. Further, more and more applications on mobile stations require frequent updates of real-time data from various information servers, for example, to communicate various notification messages.
Many applications on mobile stations use existing polling techniques to obtain data periodically from remote servers. For example, mail client applications running on a mobile station connect to a mail server frequently to check for new mails and fetch data (“polling”) if new mail messages are present. However, the polling techniques have drawbacks, especially on mobile stations. For example, frequent polling shortens battery life. When a polling technique is used, a mobile station's radio draws a significant amount of battery power for several seconds for each attempted retrieval of data from a remote server, regardless of whether the data provided by the remote server has changed or not. The polling technique also consumes scarce network bandwidth by frequently checking for new information that may or may not be available. Another disadvantage of the polling technique is that updating real-time data is not practically possible, because the polling technique is used only at predetermined periodic intervals, not in real-time. Hence, the data may not be current. Further, the polling technique uses potentially complex logic to find out what data were modified and can result in an overwhelming load on the remote server (e.g., when a large number of mobile stations poll the remoter server nearly at the same time).